#ifndef 	__MD5_H__
#define		__MD5_H__


/* POINTER defines a generic pointer type */  
typedef unsigned char * POINTER;  
  
/* UINT2 defines a two byte word */  
//typedef unsigned short int UINT2;  
  
/* UINT4 defines a four byte word */  
typedef unsigned long int UINT4;  
  
  
/* MD5 context. */  
typedef struct {  
    UINT4 state[4];                                   /* state (ABCD) */  
    UINT4 count[2];        								/* number of bits, modulo 2^64 (lsb first) */  
    unsigned char buffer[64];                         /* input buffer */  
} MD5_CTX;  
  
void MD5Init(void);  
void MD5Update (unsigned char *input, unsigned int inputLen);  
void MD5UpdaterString(const char *string);  
int MD5FileUpdateFile (char *filename);  
void MD5Final (unsigned char digest[16]);  
void MDString (char *string,unsigned char digest[16]);  
int MD5File (char *filename,unsigned char digest[16]); 
void MD5(unsigned char *p,unsigned int len,unsigned char des[16]);
























#endif

